<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /* 
            使用 object 字面量创建对象
                1.无法区分不同类型的对象
                2.不方便批量创建对象

            在JS中可以通过类（class）来解决这个问题:
                1.类是对象模板，可以将对象中的属性和方法直接定义在类中
                    定义后，就可以直接通过类来创建对象
                2.通过同一个类创建的对象，我们成为同类对象
                    可以使用 instanceof 来判断对象是否是同一个类的实例
                    如果某个对象是由某个类所创建，则我们成该对象是这个类的实例

                语法：
                    class 类名{
                        属性
                        构造方法
                        方法
                    }
                    
                    const Person = class {} // 一般不用
        */
        // const five = {
        //     name: "星期五",
        //     age: 20,
        //     height:180,
        //     weight:100,

        //     sleep(){
        //         console.log(this.name + "正在睡觉...");
        //     },

        //     eat(){
        //         weight += 1;
        //         console.log(this.name + "正在吃东西...");
        //     }
        // }

        class Person{
            name = "星期五";
            constructor(name)
            {
                this.name = name;
            }
            sayHello(){
                console.log('hello, My name is ' + this.name);
            };  // 添加方法 (实例方法)实例方法中 this 就是当前实例

            static test(){
                console.log('this is static test');
            };  // 静态方法(类方法) 通过类来调用
        }

        
        const p = new Person();
        p.sayHello();

        Person.test();
    </script>
</head>
<body>
    
</body>
</html>